﻿03/11/2015 v1.7.0
New featuers
-	Horizontal line control
-	Create Account allows to automatically login user after account creation (tick box)
-	AFD controls
-	Bootstrap Columns
-	Execute on each page load
General
-	Bug fixing

31/12/2015 v1.8.0
New featuers
-	possibility to pre-load controls with values from an Iqa query
-	config option for read only
-	ReCaptcha V2

01/01/2016 v1.9.0
New features
-	Allow mixing of Panel Editor iParts with FormToolz iParts in CCO with a single button (config option on button control)
-	Stop CCO if ReCaptcha is enabled
-	Show definition in design mode

05/01/2016 v1.10.0
New features
-	Word count control added (to be used in combination with multiline textbox)
-	Added line option for multiline textboxes 
Bug-fixing
-	pre-loading of checkboxes did not work
-	pre-loading of checkbox lists and radiobutton lists added
-	error handling for values loaded which are not in drop-downs, comboboxes etc.
-	Fixed drag/drop area for controls where handle would not show

17/01/2016 v1.11.0
New features
-	Create layout of stored proc within iPart
Bug-fixing

21/01/2016 v1.12.0
New features
-	New control added which allows to save a blob to a file
Bug-fixing
-	Generating layout of stored proc for upload control did not work

03/02/2016 v1.13.0
New features
-	New control for adding roles
-	New control for adding groups
Bug-fixing
-	Renamed name from "Line Break" to "Display Captions and Line Break"
-	Added "Required" class to DropDown, ComboBox, CheckBoxLists, ReadioButtonLists if required is ticked (OOB iMIS does not do this)
-	Fixed Horizontal line control: generated mark-up was wrong
-	Fixed an issue with loading data from IQA queries where URL parameters would not always work

03/03/2016 v1.14.0
New features
-	Allow reseting passwords on a basis of an Iqa Query (not official)
Bug-fixing
-	Recaptcha v2 as a control. Would stay ticked on page refresh although it was not
-	Url Parameter i.e. ?=7 would should in controls although Url Parameter was set to empty

08/03/2016 v1.15.0
-	Added AFD licensing

03/04/2016 v1.16.0
New features
-	Added radio button list to pick filter type for Responsive ComboBox
-	Added Zengage logo to edit page
Bug-fixing
-	Re-enabled handle for drag&drop
-	SP Layout:	increased height of control
				raw settings loaded - removed no
-	Bootstrap column:	unique name automatically loaded when added
						color coding fixed to one color lime-green (would jump if dragged&dropped or new control being added or removed)
-	Edit Control page:	fixed layout issues for (i)nfos around filter and IQA pre-population

06/05/2016 v1.17.0
Bug-fixing
-	User Account creation control did not populate email address in aspMembership_Details table

08/06/2016 v1.18.0
Bug-fixing
-	iPart would create A potentially dangerous Request.Form value was detected from the client exception in event viewer log. Settings are now url encoded to avoid this exception
	IMPORTANT: Content pages created with previous versions need to be opened with iPart config page, OKed and saved in order to properly encode the settings in the published aspx page
-	User Account creation would create exception if no email present at contact

27/06/2016 v1.19.0
Bug-fixing
-	AFD address control would throw exception if country field does not contain "GB" as value. Added values 
		EN = England
		IE = Ireland
		NV = Northern Ireland
		SV = Scotland
	which also trigger a UK lookup now
-	AFD settings control: options hidden which are not needed anymore
-	Removed space from CSS classed if added

11/07/2016 v1.20.0
Bug-fixing
-	AFD address control did not consider Locality. If Address Line 2 is empty, Locality is added in.

19/07/2016 v1.21.0
Bug-fixing
-	WYSIWIG editor was not passing html content.

22/08/2016 v1.22.0
Bug-fixing
-	Renamed "Required" to "Display Asterisk"
-	Renamed "Signature" to "Stored Procedure Layout"
-	Removed "General Lookup Table" from

26/08/2016 v1.23.0
-	Changed Caption to a multi-line textbox in edit mode to make it easier for lengthy label descriptions

05/09/2016 v1.24.0
-	changed call of IQA queries, as architecture of iMIS has changed from 20.2.40

06/09/2016 v1.25.0
-	Added AfdKey to pre-population

11/09/2016 v1.26.0
-	Added CartList control which allows to get content of the cart
-	Added CartOrderTotal control which allows to get the total amount of cart
-	Added CartCount control which allows to get order items listed in the cart
-	Added CartCurrency control which allows to get the currency of the cart

17/09/2016 v1.27.0
-	LoggedInUser control would return GUEST user if it follows a redirection from party.aspx

20/09/2016 v1.28.0
-	Added "Execute with Submit button" control which can be placed on the shopping cart page
-	Drop-down lists can be made dependent - Control Id of a drop-down list control is now exposed which can be used as a filter in the IQA query e.g. @IQA:f4b8b7b7169e4efda32aa9416b9ba6cc

23/10/2016 v1.29.0
-	Added "IQA Query (multi-selectable)" control which allows to add IQA queries with checkboxes for selection. 
	IQA queries must have one key_value field e.g. key_UniformKey for vboNetContact.ContactKey
	The key field of selected rows will be passed to the stored procedure as comma-separated list.
-	Send Email control can now be used multiple times. Parameters will be incremented by one.
-	New Ajax appearance: Please wait... is no longer shown; instead all input controls are disabled and a spinner gif is displayed
-	RadioButtonList allows now IQA queries which have grouping enabled. The selected values are passed as comma separated values.
-	IQA queries: If an IQA query has links defined, this are now rendered into the control e.g. checkbox list, radiobuttonlist etc.
-	Pre-population of combox via URL or IQA added
-	Dependent drop-downs are only getting populated when source drop-down has a value selected
Bug-fixing:
-	Additional WebToolz iPart would not fire if "AJAX refresh of entire page" is ticked
-	If more than two dependent drop-downs chained up, the second drop-down was emptied

09/11/2016 v1.30.0
Bug-fixing

11/11/2016 v1.31.0
Security Enhancements

17/11/2016 v1.32.0
Bug-fixing:
-	RadioButtonList with comma separated list as values would not honor pre-population

25/11/2016 v1.33.0
Enhancements:
-	Translation engine forces a page-reload of each iPart if translate="yes" - deactivated this for WebToolz as labels do get translated automatically
-	When editing the WebToolz iPart in Content Designer, after closing "No definition is found would appear". Now the form stays intact

02/01/2017 v1.34.0
Enhancements:
-	Added DataAttributes to Input Fields - can be defined with a semicolon separated list
-	Added Hidden Input Field control
-	Caption in edit control is now a WYSIWIG box to allow ease of definition

02/01/2017 v1.35.0
Bug-fixing:
-	Responsive Combobox would not honour more than one control

27/01/2017 v1.36.0
Enhancements:
-	Added new control Upload certificates which can be used for .cer file. It will extract the subject line into a separate @Subject parameter
-	Combobox control: Emtpy message is now configureable

03/02/2017 v1.37.0
Enhancements:
-	Added IQA Query export control: getting string either as CSV or XML

17/02/2017 v1.38.0
Enhancements:
-	Added Services.asmx which allows to perform RESTful API calls and to pass results into a stored procedure for further processing
-	Added RestApiWrapper control to perform RESTful API calls from a GUI and pass response into a stored procedure
Layout in both cases is through C# (RestSharp) which can be e.g. taken from Postman
-	Added SAML 2.0 control

01/04/2017 v1.39.0
Bug-fixing:
-	Dependent Drop-Down fix #1: If second source drop-down is pre-populated with IQA query value page would error out
-	Dependent Drop-Down fix #2: If source drop-down is pre-populated update of dependent drop-down would not fire.
Notes:
-	iMIS prior .62 has an issue with the datepicker where the Today area is vanishing if a postback has occured. The only resolution is to upgrade
-	The Combobox control only allows items requested up to a 1000. This is a limitaion of the iMIS control as well.

06/04/2017 v1.40.0
Enhancements:
-	Adobe Connect - creation of users from iMIS in Adobe Connect
-	Adobe Connect - assign participants to meeting/seminar/event
Offered as complete solution under separate license

12/06/2017 v2.0.1
Enhancements:
-	New user interface
	a. Tree View DropDown
	b. Removed DLL option
	c. Re-arrangement of tabbed windows
-	New licensing interface
-	Better performance by requiring less SQL calls at a time
-	Reduced RAM foot print
Bug-fixing:
-	TextBox Custom filters were emptied out and not applied in the interface
IMPORTANT: Support for versions prior 20.2.26 has been droppped

17/06/2017 v2.0.2
Enhancements:
-	Added config option for Date Control to also enable capture of time
-	Added Recycle AppPool Control. Add IIS_USRS with READ permissions to C:\Windows\System32\inetsrv\config so that the iPart can get the configuration of IIS. 
		After that just the name of the AppPool needs to be passed in e.g. AsiSchedulerPool 
-	Added new control for Time capture
-	Changing stored procedure on execute control will update all associated controls in edit mode

24/06/2017 v2.0.3
Enhancements:
-	Performance Improvements

24/06/2017 v2.0.4
Bug-fixing:
-	Popuplation of IQA query driven controls did not populate correctly

24/06/2017 v2.0.5
Enhancements:
-	Cosmetic changes
Bug-fixing:
-	If dependent drop-down pulls back a list with same selected value but index has changed and index is out of range the whole page would error

06/07/20179 v2.0.6
Enhancements:
-	Added Event Registrant Id Control

25/07/2017 v2.0.7
Enhancements:
-	Select/Deselect all rows by Default as option for IQA Query multi-select
-	Refresh option for IQA query multi-select
-	Edit a control: Select option for IQA queries.

21/08/2017 v2.0.8
Enhancements:
-	New controls:
	1. Restart Windows Service
	2. Flush REDIS Cache
	3. Update a dynamic group by IQA query path
	4. Hide a control by ID (sever-side)
Bug-fixing:
-	Reset Controls did not have an affect on IQA multi-select list
-	AFD would not only limit to UK if another country is selected

13/09/2017 v2.0.9
Enhancements:
-	New control Content migration
-	added CSS classes for nicer messaging

16/09/2017 v2.0.10
Enhancements:
-	New control add a person 
-	Allow encryption and decryption of hidden fields. Additional config for static id

Bug-fixing:
-	IQA Query Display - could not define where label should be positioned
-	GroupUpdater - make it work async

22/11/2017 v3.0.0
Enhancements:
-	REST API controls for endpoints
-	DocuSign controls
-	UI and UX

Bug-fixing:
-	several jQuery issues
-	Recaptcha issue

30/11/2017 v3.1.0
Enhancements:
-	REST API control for reading route data
-	Tweaking other API controls (adding mime type for output)

06/12/2017 v3.2.0
Enhancements:
-	Adding CSV export control

Bug-fixing
-	Fixing DocuSign dependencies

19/12/2017 v3.3.0
Enhancements:
-	ContentRecordKey Control (UniformKey, Documentversionkey)
-	Minor changes for stored procedure layout generation

01/03/2018 v4.0.0
Enhancements:
-	Google Maps
-	Brain Tree
-	GoCardless
-	AFD show and hide

02/03/2018 v4.0.1
Fix
-	AFD show and hide: broke out AFD key field so that it can be filled by jQuery

21/03/2018 v4.1.0
Enhancements
-	Added support for HTML5 data attributes for each form control
-	Allow Recaptcha with WebToolz web.config keys WebToolzRecaptchaSecretKey, WebToolzRecaptchaSiteKey

04/05/2018 v4.2.0
Fix
-	AFD added config option to switch off TLS 1.2 if not activated by the system. By default it is now using TLS 1.2

Enhancements
-	Register for an event and pay for it
-	Delete a party by ID
-	Get a new party ID as parameter for the stored procedure (auto-generates a new party in the system)

14/05/2018
Enhancements
-	Multi-select listbox (UX like the one used in IQA multiple select filters)

22/05/2018 v4.3.0
Fix
-	Responsive combobox pre-population did not work. This is now possible by passing value|text either from IQA or by URL parameter. 
	Additionally combobox would not show the first item - it was hidden by (None)

23/05/2018 v4.4.0
Enhancement
-	Added control to get the fingerprint of a browser

18/07/2018 v4.6.0
Enhancments
-	SendEmail works now async in the background. De-duplicates and logs created, sent, read status in tblZen_WT_SendEmail_Log table
-	WebToolz now logs errors in the table tblZen_WT_Error_Log
-	New control for IntelliSMS to send textmessages through their service

01/08/2018 v4.7.0
Major Fix
-	If two WebToolz iParts would have the same control with the same control ID always the first one would be picked-up. 

19/08/2018 v4.8.0
Enhancements
-	Control to pay off a cart

Major Fix
-	XSS possible with Telerik RadEditor: activated all DefaultFilters and StripDomEventAttributes 
		(https://docs.telerik.com/devtools/aspnet-ajax/controls/editor/managing-content/content-filters)

Other fixes
-	GetSessionVariable, SetSessionVariable - name did not store
-	Controls with the attribute "Type of Values" don't function again if there is a value in the textbox and no value in the dropdown
-	The field "TextBox Multiline Control ID" has an option to select an IQA query. This should only have values of control IDs.
-	Typo Get Session Variabele

03/09/2018 v4.9.0
Enhancements
-	Responsive ComboBox can now trigger updates to other controls
-	Add css styling as separate file which is loaded only once if iPart is used multiple times on one content page

06/09/2018 v4.10.0
Enhancements
-	Added DLL Wrapper to call a function from a DLL in the bin folder

10/09/2018 v4.11.0
Enhancements
-	D2L Enrolment calls now a stored procedure as part of the enrolment process

Fixes
-	Fixed adding products to only overwrite unit price if amount is provided

13/09/2018 v4.12.0
Enhancements
-	Removed depencies on Json.Newtonsoft.dll which comes with iMIS out-of-the-box and added our own compiled version Zentso.Json.Newtonsoft.dll so that we can use modern API wrappers for Mailchimp, GoCardless, DocuSign etc.
-	Added Mailchimp Create a campaign control

01/10/2018 v4.13.0
Enhancements
-	Various controls for GoCardless
-	Header inject control

21/10/2018 v4.14.0
Enhancements
-	Sharepoint controls

25/10/2018 v4.15.0
Enhancements
-	Added new D2L control to get grades by userid and courseid
Bug-fixing
-	iMIS v20.2.63 and later has a bug in the IQA query control which does not allow to refresh the data from the DB. It will therefore always blank the screen if sorting is applied or if one goes to the next page.

28/10/2018 v4.16.0
Enhancements 
-	Added functionality to refresh the pre-populated value from an IQA query for Textboxes and Display IQA Value controls to refresh after a stored procedure has been executed
Bug-fixing
-	PDF control throwing an exception if string provided is null
-	D2L Get Grades control throwing error if result set is { Error : ... }

07/11/2018 v4.17.0
Enhancements
-	Added Word Count for WYSIWYG editor
-	Added control to add a new promotion code
-	Added control to invalidate whole page

15/11/2018 v4.18.0
Enhancements
-	Sharepoint Upload Control: Added option to add files to subsites
-	Changed readme.txt to include deployment of third-party dlls as deployment step

25/11/2018 v4.19.0
Changes
-	Removing a promo code control now does need the exact promo code in order to have it deleted

30/11/2018 v4.20.0
Enhancements
-	Sharepoint upload: stores subsite, allows to set flag whether to overwrite a file or not, sample code
-	Performance improvements for Send an email control
-	Added better logging to Gift transaction control
-	Added option for disabling caching of page

20/12/2018 v4.21.0
Fixes
-	Zentso.Api.dll did not work with SP O due to some changes in Asi.WebRoot.dll
-	Updated calls relating to APIs in WebToolz
-	Created sample library in Postman

27/12/2018 v4.22.0
Enhancements
-	SQL Command Timeout option for all execute controls added
-	Removing line breaks from comma separated list values for radiobutton, dropdown controls etc
-	Added option to get cart details of a billing cycle in the very detail

Fixes
-	Paying off a gift was only picking up existing batches by created by filter
-	RadioButton Control - if URL parameter or IQA result returns a value which was not part of the collection an error is thrown

Misc
-	Removed incl. CCO from Button control
-	Removed dependency for System.Net.Http 4.2.0.0

21/02/2019 v4.23.0
Enhancements
-	Bolt LMS controls
-	Option to show full error messages. Standard is to just show "There was an issue, please email us quoting error code #" from tblZen_WT_Error_Log

Fixes
-	Send email control would stop sending if there is a deadlock writing to tblZen_WT_SendEmail_Log
-	AutoDownloadFile threw an error
-	Stopped Event Viewer log errors if threads are aborted for file downloads

13/03/2019 v4.24.0
Enhancements 
-	RolesToParties control
-	RemoveRolesFromParties control
-	PromotionCode Removal control
-	D2L control for getting grades
-	Bolt LMS control - getting status of Personal Allocations w/o filter status possible now

02/04/2019 v4.25.0
Fixes
-	Addressed an issue with bulk user creation control

06/05/2019 v4.25.1
Fixes
-	Responsive Combobox: if dependency is activated on any control the selected value would be blanked out.

18/05/2019 v4.26.0
Enhancements
-	New controls for syncing orgs with Bolt LMS

24/05/2019 v4.27
Enhancements
-	New controls for integration with Sharefile
Fixes
-	Small change to error message for pulling grades from D2L

25/07/2019 v4.28
Major Enhancement
-	Moved all DataSources which are working off IQA queries to a web service for better performance
Enhancement
-	Email logging now split into three tables for better performance 
		tblZen_WT_SendEmail_Log
		tblZen_WT_SendEmail_MessageRead_Log
		tblZen_WT_SendEmail_MessageSentOn_Log
Fixes
-	Fixed issue where Multi-Select list would throw an error if duplicated entries
-	File Download adds HTML code becasue iMIS tries to change the header. Switched it out with an independent handler.
-	Email not sending because of System.Buffers.dll dependency issue.

27/07/2019 v4.29
Fixes
-	Sharefile Upload was missing @SfFileId

31/07/0219 v4.29.1
Fixes
-	Added MaxReceivedMessageSize parameter to WebToolzServices.ServicesSoapClient to handle IQA queries with big resultsets.

03/08/2019 v4.29.2
Fixes
-	Certain Dynamic @IQA Filters would not be honored by new IQA web service

05/08/2019 v4.30.0
Enhancements
-	Sharefile: Additional fields are now getting stored in tblZen_WT_ShareFile_UploadedFiles_Additionals if parameter @SfAdditionalFields has name value pairs in the form of fieldname|value;fieldname2|value;...

11/08/2019 v4.31.0
Enhancements
-	Sharefile: 
		Field added for the "Created for iMIS ID" on the folders please so that we have the imis id on each folder (in, out, shared, root) for each user.
		Fields added to both the ShareFile UploadedFiles and UploadedFiles_Additionals tables following these rules:  addedby is loggedinuserid, editedby is loggedinuserid, both addedon and editedon are current-datetimestamp.

15/08/2019	v4.32
Enhancements
-	Bolt LMS API: Improved handling throttle limit of Bolt API. Added additional error handling when API calls are performed.
-	D2L: Increased JSON ResultLength for huge datasets coming from Awards endpoint.

26/08/2019 v4.33
Enhancements 
-	SagePay Server Integration controls
-	New Cart controls

19/09/2019 v4.34
Enhancements
-	Dundas BI Logon Control

23/09/2019 v4.35
Enhancements
-	SagePay Server Integration: Added iMIS ID and Majorkey to VendorTxCode
Fixes
-	SagePay Server Integration: Added invariant culture for parsing a decimal, otherwise browser languages other than en-XX would parse the amount incorrectly.
-	Setup form fix and pay off cart fix: Added invariant culture for trying to parse a decimal, otherwise browser languages other than en-XX would parse the amount incorrectly.

29/10/2019 v4.36
Enhancements
-	SagePay: Added voiding option.

24/11/2019 v4.37
Enhancments
-	Additional Config options for PDF generation. Config options are visible through generation of stored procedure

27/12/2019 v4.38
Fixes
-	LoginByUsername control skips if username is left empty and does not cause an exception

02/01/2020 v4.39
Enhancments 
-	Added new Grades Endpoint for D2L which includes the last modified date.

14/01/2020 v4.40
Enhancements
-	Tweaked IQA performance - important upgrade!
-	REST API Wrapper: added possibility to also read session variables
Fixes
-	REST API Wrapper: reading from text boxes and drop-downs failed if control was not found.

17/01/2020 v4.41
Enhancements
-	Added controls to delete either a single user account or user accounts in bulk. Bulk allows anon mode and to set a username.

14/03/2020 v4.42
Fixes
-	SagePay Server Integration overwrote VpsTxId code on notification. 

18/03/2020 v4.43
Enhancement
-	AFD Control: Added config option to force search in case it has not been performed. This will mitigate the risk of the control breaking if AFD licence expires.

07/05/2021 v4.44
Enhancement 
-	Upgrade

20/12/2021 v4.45
Enhancement
-	SAML: Added option to asign assertion.

26/09/2022 v4.46
Enhancement
-	Exif Geo location data in upload control

04/10/2022 v4.47
Enhancement
-	Browser geo location control

11/10/2022 v4.48
Enhancement
-	Upgrade of Opayo integration to protocol version 4.00

05/02/2023 v4.49
Fix
-	Issue with BOLT POST and PATCH API when using multidata/form header

17/04/2023 v4.50
Fix
-	Fixed encryption issue